<?php
/**
 *
 * 版权所有：恰维网络<qwadmin.qiawei.com>
 * 作    者：寒川<hanchuan@qiawei.com>
 * 日    期：2016-01-24
 * 版    本：1.0.0
 * 功能说明：菜单控制器。
 *
 **/

namespace Qwadmin\Controller;

class MenuController extends ComController
{
    public function _initialize() {
        parent::_initialize();
        $this->assign( 'list' , $this->__redayNewMenusAuthList() );
    }
    public function index()
    {
        $this->display();
    }

    public function del()
    {
        $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : false;
        $type = intval( $_GET['type'] );
        $map['id'] = array('in', $ids);
        switch( $type ) {
            case 2 :
                $m = M('Actions');
                break;
            case 3 :
                $m = M('Methods');
                break;
        }
        if ($m->where($map)->delete()) {
            addlog('删除菜单ID：' . $ids);
            $this->success('恭喜，菜单删除成功！');
        } else {
            $this->error('参数错误！');
        }
    }

    public function edit($id = 0)
    {
        $id = intval($id);
        $type = intval( $_GET['type'] );
        switch( $type ) {
            case 2 :
                $m = M('Actions');
                break;
            case 3 :
                $m = M('Methods');
                break;
        }
        $currentmenu = $m->where(" id='$id'")->find();
        if (!$currentmenu) {
            $this->error('参数错误！');
        }

        $this->assign('currentmenu', $currentmenu);
        $this->display('form');
    }

    public function update()
    {
        $data = I('post.poster');
        if( !$data ) $this->error( '数据错误！' );
        //需要操作的模型
        $parent_id = explode( '-' , $data['parent_id'] );
        if( $parent_id[0] == 1 ) { //控制器
            unset( $data['url'] );
            $data['menus_id'] = $parent_id[1];
            $model = M('Actions');
        } else { //方法
            unset( $data['style_class_name'] );
            $data['actions_id'] = $parent_id[1];
            $data['parent_id'] = $parent_id[0] == 3 ? $parent_id[2] : 0;
            $model = M('Methods');
        }
        if ( $data['id'] ) {
            if( $model->save( $data ) === false ) {
                $this->error('数据修改失败');
            }
            addlog('编辑菜单，ID：' . $data['id']);
        } else {
            unset( $data['id'] );
            if( $model->add( $data ) === false ) {
                $this->error('数据添加失败');
            }
            addlog('新增菜单，名称：' . $data['title']);
        }

        $this->success('操作成功！');
    }


    public function add()
    {;
        $this->display('form');
    }
}